The field of the present disclosure relates generally to data reading systems and machine readable symbols, and in particular, to systems and methods for detecting barcodes and other optical codes with damaged or incomplete finder patterns.
Generally speaking, optical codes are machine-readable representations of data typically comprising of a pattern of dark elements and light spaces. For example, one-dimensional codes, such as a Universal Product Code (“UPC”) and EAN/JAN codes, comprise parallel lines of varying widths and spaces. Two-dimensional codes, such as PDF417 and Maxicode codes, may comprise other features, such as rectangles, dots, hexagons and other geometric patterns in two dimensions. Originally, barcodes were scanned by specialized optical scanners called barcode readers. More recent application software developments have provided the ability for other electronic devices, such as phones and cameras, to read barcodes and other optical codes.
Data reading devices, such as barcode or optical code scanners, RFID readers, and the like, are widely used to read data in the form of optical codes, digital watermarks, or other encoded symbols printed on various objects. These systems may be used in a wide variety of applications, such as inventory control and point-of-sale transactions in retail stores. Perhaps one of the more well-known data readers are laser scanners, which are typically used to read barcodes on items that may be sold in retail and grocery store settings. Laser scanners are used to capture barcode patterns, symbols or other information imprinted on a surface of an item. The captured data is thereafter transmitted to a host processing device for decoding the data. In some instances, the barcodes may be arranged or located on objects that include many additional images, features, and background text. Accordingly, to successfully obtain data from the barcodes, the data readers must be able to distinguish the target barcodes from the surrounding environment.
As briefly noted previously, two-dimensional optical codes, such as a Data Matrix code, consist of black and white modules arranged in either a square or rectangular pattern. These optical codes typically include two solid, adjacent borders in an L-shape (called the finder pattern) and two other borders consisting of alternating dark and light modules (called the “timing pattern”). Within the borders of the optical code are rows and columns of cells encoding information. The data reader uses the finder pattern to locate the position and orientation of the symbol, while the timing pattern provides a count of the number of rows and columns in the symbol. For other symbologies, the finder pattern may be different. Other symbologies may employ other unique finder patterns, such as square patterns for QR codes, bulls eye patterns for Maxicode, or a pyramid logo for Aztec code, for example.
Typically, data readers employ a location algorithm to quickly and precisely identify such finder patterns from complex backgrounds to obtain the target data. In ideal conditions, a data reader is able to quickly identify the finder patterns and complete the reading process without issue. However, in more challenging environments, such as in retail or industrial settings where the barcode may be obscured or surrounded by other text or images, such boundary tracking methods may have difficulty identifying the barcode, thereby resulting in computational inefficiencies, high redundancies, inaccuracies, and lack of robustness. Moreover, in instances where the finder patterns are incomplete or damaged, conventional reading methods may fail altogether to detect the barcode.
Accordingly, the present inventors have determined that it would be desirable to develop a data reading system with improved reading functions to accurately read and process barcodes and other optical codes that may have damaged or missing finder patterns, or that may be partially obscured by nearby text or images. In addition, the present inventors have determined a need for such an improved data reading system that is highly efficient and avoids redundant calculations. Additional aspects and advantages will be apparent from the following detailed description of example embodiments, which proceeds with reference to the accompanying drawings. It should be understood that the drawings depict only certain example embodiments and are not to be considered as limiting in nature.